package com.reliable.service.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 推送目标模板对象 reliable_push_template
 *
 * @author ruoyi
 * @date 2025-10-29
 */
@Data
@ApiModel(value = "推送目标模板对象")
public class ReliablePushTemplate extends BaseEntitys {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    @ApiModelProperty(value = "主键ID", position = 0)
    @TableField(exist = false)
    private String businessId;

    /**
     * 模板名称，如"北京财务部-邮件推送"
     */
    @ApiModelProperty(value = "模板名称，如\"北京财务部-邮件推送\"", position = 1)
    private String name;

    /**
     * 推送渠道：wechat/email/ftp/api_a 等
     */
    @ApiModelProperty(value = "推送渠道：wechat/email/ftp/api_a 等", position = 2)
    private String channel;

    /**
     * 城市名称，如 北京市
     */
    @ApiModelProperty(value = "城市名称，如 北京市", position = 3)
    private String city;

    /**
     * 公司或部门名称，如 财务部、XX科技有限公司
     */
    @ApiModelProperty(value = "公司或部门名称，如 财务部、XX科技有限公司", position = 4)
    private String department;

    /**
     * 适用的数据类型：bank_card（银行卡）、alipay（支付宝）、wechat_pay（微信支付）、unionpay（云闪付）、crypto（虚拟币）、cash（现金）、gold（黄金）
     */
    @ApiModelProperty(value = "适用的数据类型：bank_card（银行卡）、alipay（支付宝）、wechat_pay（微信支付）、unionpay（云闪付）、crypto（虚拟币）、cash（现金）、gold（黄金）", position = 5)
    private String dataType;

    /**
     * 任务id
     */
    @ApiModelProperty(value = "任务id", position = 6)
    private Long taskId;

    /**
     * 模板状态：1=启用, 2=禁用, 3=已删除
     */
    @ApiModelProperty(value = "模板状态：1=启用, 2=禁用, 3=已删除", position = 7)
    private Integer templateStatus;

    /**
     * 推送时间规则
     */
    @ApiModelProperty(value = "推送时间规则", position = 8)
    private String timeRules;

    /**
     * 创建人用户ID
     */
    @ApiModelProperty(value = "创建人用户ID", position = 9)
    private Long createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", position = 10)
    private Date createTime;

    /**
     * 最后修改人用户ID
     */
    @ApiModelProperty(value = "最后修改人用户ID", position = 11)
    private Long updateBy;

    /**
     * 最后修改时间
     */
    @ApiModelProperty(value = "最后修改时间", position = 12)
    private Date updateTime;

    /**
     * 逻辑删除标志：0=未删除, 1=已删除
     */
    @ApiModelProperty(value = "逻辑删除标志：0=未删除, 1=已删除", position = 13)
    private Integer delFlag;
}